home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus 2002 #11
/
Amiga Plus CD - 2002 - No. 11.iso
/
Tools
/
ShareMailGiftware
/
autotrace
/
autotrace-0.30
/
README
< prev
next >
Wrap
Text File
|
2002-10-27
|
5KB
|
116 lines
AutoTrace is a utility that converts bitmap to vector graphics.
You find more information at:
http://autotrace.sourceforge.net
Some of code was partially derived from limn of GNU fontutils.
However, almost all code is rewritten.
The program was tested using Linux, HP UX, Solaris, Windows98,
Windows NT, Windows 2000, MAC and OS/2 4.0. It compiles with GCC,
Borland C++ Builder, Visual C++ and many other compilers.
The program can be used under the GPL license.
It can be compiled standalone, then it can import pnm, pbm, pgm,
ppm, bmp and tga files. If you have installed libpng
(http://www.libpng.org/pub/png/libpng.html) you can also read
png files and with ImageMagick a very broad range of input
formats is available.
You will need at least libpng 1.0.6 and ImageMagick 5.2.1.
Most output formats like dxf, emf, eps, ai, er, fig, svg, epd and sk
are directly integrated in AutoTrace, but if you need swf export you
need to install Ming (http://www.opaque.net/ming/). Also you can
export to the p2e format. This format can be converted by pstoedit
(www.pstoedit.net) to a large number of other formats.
There are two main methods that can be used outline and midline
tracing. If you use Visual C++ 6.0 for compilation be shure to have
at least SP 5 otherwise you could get Memory access violations due
to a bug in earlier versions.
Program comes from two parts: command and library.
Here the options you can use in the command:
Usage: autotrace.exe [options] <input_name>.
Options:<input_name> should be a supported image.
You can use `--' or `-' to start an option.
You can use any unambiguous abbreviation for an option name.
You can separate option names and values with `=' or ` '.
background-color <hexadezimal>: the color of the background that
should be ignored, for example FFFFFF;
default is no background color.
centerline: trace a character's centerline, rather than its outline.
color-count <unsigned>: number of colors a color bitmap is reduced to,
it does not work on grayscale, allowed are 1..256;
default is 0, that means not color reduction is done.
corner-always-threshold <angle-in-degrees>: if the angle at a pixel is
less than this, it is considered a corner, even if it is within
`corner-surround' pixels of another corner; default is 60.
corner-surround <unsigned>: number of pixels on either side of a
point to consider when determining if that point is a corner;
default is 4.
corner-threshold <angle-in-degrees>: if a pixel, its predecessor(s),
and its successor(s) meet at an angle smaller than this, it's a
corner; default is 100.
despeckle-level <unsigned>: 0..20; default is no despeckling.
despeckle-tightness <real>: 0.0..8.0; default is 2.0.
dpi <unsigned>: The dots per inch value in the input image, affects scaling
of mif output image
error-threshold <real>: subdivide fitted curves that are off by
more pixels than this; default is 2.0.
filter-iterations <unsigned>: smooth the curve this many times
before fitting; default is 4.
input-format: TGA, PBM, PNM, PGM, PPM or BMP.
help: print this message.
line-reversion-threshold <real>: if a spline is closer to a straight
line than this, weighted by the square of the curve length, keep it a
straight line even if it is a list with curves; default is .01.
line-threshold <real>: if the spline is not more than this far away
from the straight line defined by its endpoints,
then output a straight line; default is 1.
list-output-formats: print a list of support output formats to stderr.
list-input-formats: print a list of support input formats to stderr.
log: write detailed progress reports to <input_name>.log.
output-file <filename>: write to <filename>
output-format <format>: use format <format> for the output file
eps, ai, p2e, sk, svg, fig, swf, emf, er, dxf, mif, epd, pdf or
cgm can be used.
remove-adjacent-corners: remove corners that are adjacent.
tangent-surround <unsigned>: number of points on either side of a
point to consider when computing the tangent at that point; default is 3.
report-progress: report tracing status in real time.
debug-arch: print the type of cpu.
debug-bitmap: dump loaded bitmap to <input_name>.bitmap.
version: print the version number of this program.
The library is named libautotrace. About usage of the library,
see autotrace.h.
Here is a sample progaram that uses libautotrace.
To compile, invoke following commands(on posix):
gcc sample.c `./autotrace-config --libs` `./autotrace-config --cflags`
/* sample.c */
#include <autotrace/autotrace.h>
int main()
{
char * fname = "img/triangle.png";
at_fitting_opts_type * opts = at_fitting_opts_new();
at_input_read_func rfunc = at_input_get_handler(fname);
at_bitmap_type * bitmap ;
at_splines_type * splines;
at_output_write_func wfunc = at_output_get_handler_by_suffix("eps");
bitmap = at_bitmap_read(rfunc, fname);
splines = at_splines_new(bitmap, opts);
at_splines_write(splines, stdout, "",
AT_DEFAULT_DPI,
wfunc);
return 0;
}
A Gtk+ based GUI frontend for autotrace is under development.
Visit http://autotrace.sourceforge.net/frontline
Programmers wanted!!!
Author: Martin Weber (martweb@gmx.net)